/*
 * @Author: 0x9DEFA478
 * @Date: 2024-09-11 11:23:46
 * @LastEditTime: 2025-08-15 00:08:46
 * @LastEditors: 0x9DEFA478
 * @Description: 
 * 
 * 
 */
#ifndef hSystemProcessWindows_HPP_
#define hSystemProcessWindows_HPP_
#include "SystemProcess.hpp"




class SystemProcessWindows:public SystemProcess{
  public:
    SystemProcessWindows();
    ~SystemProcessWindows();

    SystemProcessWindows(SystemProcessWindows&)=delete;

    void Run(const H::Pointer<std::string>::Const& Command,bool pipeIO)override;
    
    virtual bool WriteInput(const std::string& str)override;
    virtual H::Pointer<char> ReadOutput()override;
    virtual std::string ReadLine(char SplitChar='\n')override;
    virtual bool IsStop()override;
    virtual void WaitStop()override;
    virtual void Stop()override;
    virtual int GetResult()override;

  private:
    void* Instance;
};




#endif //hSystemProcessWindows_HPP_
